package com.sumainfor.wx.system.feign;

import com.sumainfor.common.util.JsonResult;
import com.sumainfor.wx.system.fallback.FeignZuulFallback;
import com.sumainfor.wx.system.feign.ZuulFeign.ZuulFeign;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

/**
 * 功能描述:
 *
 * @Auther: zhlu
 * @Date: 2019/1/18 15:59
 * @Description:
 */
@FeignClient(name = "tangnest-zuul", fallback = FeignZuulFallback.class)
public interface BaseFeignZuul extends ZuulFeign{




 ////////////////////////////////////////
 //zc定义
 ///////////////////////////////////////
    /**
     * 转单池查询转单人的信息
     * @author zhoucong
     * @data 2019/8/15
     * @Param
     * @return
     */
    @PostMapping("/provider/Zfeign/getPuserListById")
    JsonResult getPuserListById(@RequestBody Map<String, Object> params);


    /**
     * 获取当前用户下的所有服务中心
     * @author zhoucong
     * @data 2019/8/15
     * @Param
     * @return
     */
    @GetMapping("/provider/dept/getDeptList")
    List<Map<String,Object>> getDeptList(@RequestParam(value = "params") Map<String,Object> params);


    /**
     * 获取所有用户的编号和名称
     * @author zhoucong
     * @data 2019/8/15
     * @Param
     * @return
     */
    @GetMapping("/provider/user/getAllUserIdAndName")
    JsonResult getAllUserIdAndName();


    /**
     * 租赁顾问根据服务中心查询中心下的租赁顾问
     * @author zhoucong
     * @data 2019/8/16
     * @Param
     * @return
     */
    @GetMapping("/provider/Zfeign/getWoSaleIdList")
    JsonResult getWoSaleIdList(@RequestParam(value = "params") Map<String, Object> params);


    /**
     * 查询所有的服务中心
     * @author zhoucong
     * @data 2019/8/16
     * @Param
     * @return
     */
    @GetMapping("/provider/Zfeign/getDeptListByType")
    JsonResult getDeptListByType(@RequestParam(value = "params") Map<String, Object> params);





}
